﻿using System.Collections.Generic;
using System.Drawing;
using CanvasControl.Model;

namespace CanvasControl.View
{
    /// <summary>
    /// Представление для отрисовки фона.
    /// </summary>
    public interface IBackgroundView
    {
        /// <summary>
        /// Рисует фон.
        /// </summary>
        /// <param name="dc">Контекст рисования.</param>
        /// <param name="area">Область рисования.</param>
        void DrawBackground(DrawingContext dc, Rectangle area);

        /// <summary>
        /// Рисует рамку по области рисования.
        /// </summary>
        /// <param name="dc">Контекст рисования.</param>
        /// <param name="area">Область рисования.</param>
        void DrawBorder(DrawingContext dc, Rectangle area);

        /// <summary>
        /// Рисует сетку, состоящую из указанных линий.
        /// </summary>
        /// <param name="dc">Контекст рисования.</param>
        /// <param name="lines">Перечисление линий, составляющих сетку.</param>
        void DrawGrid(DrawingContext dc, IEnumerable<Line> lines);
    }
}